{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
{\fonttbl\f0\fnil\fcharset0 Monaco;\f1\fnil\fcharset0 ComicSansMS;\f2\fnil\fcharset0 Calibri;
}
{\colortbl;\red255\green255\blue255;\red33\green31\blue255;}
\paperw11900\paperh16840\margl1440\margr1440\vieww20540\viewh15040\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 1
\f1\fs28 \cf0 \shad0 \
Buenas Tardes\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 2
\f1\fs28 \cf0 \shad0 \
\pard\pardeftab720\ql\qnatural
\cf0 De que os voy a hablar: pues no,no es Perl (de eso ya hemos aprendido bastante durante el curso)\
Voy a hablaros de BioPerl\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 4
\f1\fs28 \cf0 \shad0 \
Antes de empezar con BioPerl debemos saber si en nuestra m\'e1quina tenemos Perl (como m\'ednimo versi\'f3n 5.6.1, mejor a partir de 5.8.0),  si no lo tenemos lo  descargamos.\
Como esto ya lo hemos visto a principio del curso de LHP, voy a comentarlo r\'e1pido:\
Pues my sencillo, Perl se puede encontrar en la p\'e1gina Web \ul http://www.perl.com/pub/language/info/software.html\ulnone .\
Elegimos una opci\'f3n seg\'fan nuestro sistema operativo y seguimos las instrucciones.\
Para comprobar si Perl ya esta en nuestra m\'e1quina, lo que hacemos es abrir un Terminal y escribir:\
Si nos aparece algo as\'ed:\
Lo tenemos, ahora miramos donde est\'e1 guardado\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 5
\f1\fs28 \cf0 \shad0 \
Que es BioPerl, encontr\'e9 esta definici\'f3n y de las que he visto me parece la mas sencilla y acertada, BioPerl es un c\'f3digo abierto que lleva funcionando mas de 10 a\'f1os. Se puede decir que BioPerl nacio en 1996, y en 2000 se hizo la primera release versi\'f3n 0.7. Pero en 2002 el grupo O'really empez\'f3 a espolvorizar BioPerl y es cuando nace oficialmente para la gran mayor\'eda. BioPerl se ha ha usado para crear varios servidores web dedicados a la Biologia\
Ahora vamos a ver un poco de esa documentaci\'f3n\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 6
\f1\fs28 \cf0 \shad0 \
Donde mas informaci\'f3n podemos encontrar sobre BioPerl es el Biorperl.org.\
Esta es la pagina Principal, aqu\'ed podemos ver las deferentes opciones que tenemos para empezar lo mejor si nos interesa trabajar con BioPerl es ir a la parte de instalaci\'f3n.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 7
\f1\fs28 \cf0 \shad0  \
Tenemos dos opciones para empezar con la instalaci\'f3n, bueno en realidad hay mas, pero he intentado centrarme en las mas sencillas, dando la max informaci\'f3n posible. Empezamos por Instaling Bioperl, aqu\'ed vemos que tenemos varias opciones y varios enlaces mas para conseguir mas documentaci\'f3n sobre la instalaci\'f3n. Seg\'fan nuestro sistema operativo podemos obtener unos pdf sobre la documentaci\'f3n de BioPerl, Modulos etc.\
Despu\'e9s de elegir nuestra opci\'f3n o por si queremos consultar algo mas, esta la pagina de Getting BioPerl, aqu\'ed podemos ver las versiones que hay, por si por alg\'fan motivo no nos interesa la mas actual, Los m\'f3dulos que hay por si no queremos intalarlos todos a la vez (que no es recomendable) y los miror que son principalmente Cpan y Bioperl.org\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 8
\f1\fs28 \cf0 \shad0 \
Una vez elegida nuestra opci\'f3n comenzamos a instalar, la teor\'eda es que es sencillo como el mismo libro del grupo O'realli "Mastering Bioperl" nos comenta en el cap 9. Lo que a mi me pas\'f3, es que la primera vez que lo intente me dio error y no se isntalo, la segunda lo intente con sudo y a trav\'e9s de Cpan y tambi\'e9n me dio error (adem\'e1s tarda un ratillo y me despiste) y la tercera vez, lo forc\'e9 a la instalaci\'f3n y evite un par de m\'f3dulos (ape y grahphics) que eran los que fallaban los test y daban error y consegu\'ed instalarlo. Esta es otra forma para evitar los que dan problemas y es la que viene recomendada en el libro.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 9
\f1\fs28 \cf0 \shad0  \
Bueno, ya hemos instalado BioPerl (de una forma u otra) ahora queremos ver que opciones nos ofrece. Una muy buena opci\'f3n para empezar a mirar la documentaci\'f3n es Cpan, donde podemos encontrar todos los m\'f3dulos que tiene bioper (como unos 500).\
Una cosa!!!! antes de que se me olvide\
BioPerl funciona como lenguaje dirigido a objetos, algo parecido a moose.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 10
\f1\fs28 \cf0 \shad0 \
Bueno seguimos con Cpan, entramos y vemos la gran cantidad de m\'f3dulos, nos vamos al de Bio::Perl  que esta a la mitad de los m\'f3dulos que hay.  All\'ed tenemos varios ejemplos para empezar\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 11
\f1\fs28 \cf0 \shad0 \
Abrimos el modulo y nos encontramos el indice un poco mas abajo una de las recomendaciones que nos hace es usar el tutotial de BioPerl.org. Si seguimos el en lace abrimos esta pagina, donde nos vienen tambi\'e9n una serie de ejemplos mas o menos parecidos a los de cpan.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 12
\f1\fs28 \cf0 \shad0 \
Ahora que hemos vuelta  a BioPerl.org, lo que podemos hacer es mirar en el men\'fa principal la opci\'f3n que nos aparec\'eda de documentaci\'f3n, dentro de esta parte encontramos varias opciones, estas son:\
Bioper docs, que son informaci\'f3n sobre los diferentes m\'f3dulos, no como en cpan con los ejemplo, si no un resumen de para que podemos usar esos m\'f3dulos concretos y si vienen en paquete core.\
Los Howtos que es informaci\'f3n de las principales funciones de BioPerl y los m\'f3dulos donde se encuentran, con bastantes ejemplos que podemos usar.\
Y los cuadernos de recortes, aqu\'ed la informaci\'f3n esta organizada de forma mas Biologica, es decir para alguien que no sabe programaci\'f3n y lo que quiere es por ejemplo centrarse en an\'e1lisis de secenciaon o mutaciones puntuales, pues sabe r\'e1pidamente donde ir.\
Para empezar lo mejor son los HOWTO en mi opini\'f3n\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 13
\f1\fs28 \cf0 \shad0  \
Una vez dentro de los hwoto, la mejor opci\'f3n para empezar es el primero, Begginers y ah\'ed es donde nos vamos\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 14
\f1\fs28 \cf0 \shad0 \
Ya estamos en Hwoto Begginers, como he dicho creo que esta es la mejor opci\'f3n por dos motivos, esta enfocada a personas con poco nivel de programaci\'f3n (como es mi caso) y para los que tienen pocos conocimientos biol\'f3gicos.\
Empezamos a ver los primeros c\'f3digos:\
ESte es un ejemplo muy sencillo: Creamos un nuevo objeto (una secuencia de DNA)\
Cuando creamos un objeten Bioperl, gneralmente se sigue la siguiente estructura, la sintaxis se repite de forma constante en BioPerl.\
Se usa en m\'e9todo New (
\f2\b\fs24 this new() metido
\f1\b0\fs28 ): Primero el hombre del object (o variable) a crear // el nombre del modulo -> // el nombre del m\'e9todo new // algunos argumentos como el nombre (-seq) => y el valor del argumento (
\f2\b\fs24 aaaatgggggggggggccccgtt)
\f1\b0\fs28 \

\f2\fs24 \
Note: If you've programmed before you've come across the term "function" or "sub-routine". In object-oriented programming the term "method" is used instead. \
You could say that this example shows how to pass arguments to the new() method. \
\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 15
\f1\fs28 \cf0 \shad0 \
Aqu\'ed seguimos con otro ejemplo\
Es muy parecido a lo que hemos visto anteriormente, la \'fanica parte nueva es el m\'e9todo write que nos permite transformar un objeto de secuencia a un objeto de secuencia In/Out\
Sequece IO object entiende como sacar la informaci\'f3n de un objeto de secuencia y escribir un nuevo archivo con esa informaci\'f3n en un formato determinado\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 16
\f1\fs28 \cf0 \shad0 \
En esta tabla hay algunos ejemplos mas sobre estos objetos IO, por nombre una peque\'f1a descripci\'f3n y en que m\'f3dulos podemos encontrarlos.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 17
\f1\fs28 \cf0 \shad0 \
Vamos pidiendo poco a poco mas cosas, ahora en vez de crear un elemento lo que queremos el leerlo, la estructura es muy parecida.\
En este caso el medito nuevo que nos aparece es (
\f2\b\fs24 next_seq()
\f1\b0\fs28 ) que tambi\'e9n pertenece a Seq IO, este m\'e9todo lo que haces es recuperar la siguiente secuencia disponible en el fichero (en este caso el fichero que acabamos de crear) y lo transformamos en el objeto de secuencia. El m\'e9todo Next es muy usado en BioPerl en diferentes m\'f3dulos (es decir con diferentes implicaciones, puede ser next_seq, next_aln,  (Bio::AlingnIO), Next_hit (bio::SearchIO) reading blast result. Si tenemos varias secuencias en nuestro fichero podemos seguir sacando las secuencias, gracias a este loop).\
Vamos a bar ejemplos mas reales cuando sacamos las secuencias de bases de datos directamente.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 18
\f1\fs28 \cf0 \shad0 \
Lo primero es poner la base de datos que queremos usar que como acabamos de ver eso determinara el modulo a usar.\
Ahora usando el m\'e9todo new creamos un objeto de base de datos, pero NO ponemos argumentos.\
en la segunda parte\
Ahora tenemos nuevas funciones (get_Seq_by_id) buscamos nuevas secuencias en basae a un identificador (GI genbank numere), podemos buscarlas tambi\'e9n con el m\'e9todo (get_Seq_by_acc method ), o usando versi\'f3n accesi\'f3n numere (get_Seq_by_version). Asegurate que identificador y m\'e9todo coinciden\
POdemos tambi\'e9n acceder a bases de dto lanzando una query, (que nos da una o varios resultados) \

\f2\fs24 \
\pard\pardeftab720\ql\qnatural

\b \cf0 These should not be used in loops to retrieve large numbers of record; NCBI will block your IP if they feel you are abusing their services. 
\b0 There are much better/faster ways to do this: download a GenBank section and parse it directly, 
\b or use a BLAST-formatted database and fastacmd to get the seqs of interest in FASTA format
\b0 . \
\pard\pardeftab720\ql\qnatural

\f1\fs28 \cf0 \

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 19
\f1\fs28 \cf0 \shad0 \
La primera parte de este c\'f3digo es pranticamente la misma que acabamos de ver, creamos una query (query objet) que posteriormente transformamos en un objeto de base de datos. La segunda parte es un Loop muy parecido al que acabamos de ver para recuperar todas las secuencias. Pero aqu\'ed tenemos algunos m\'e9todos nuevos (
\f2\b\fs24 get_Stream_by_query 
\f1\b0\fs28 ) que crea un stream objet, tambi\'e9n podemos usar el m\'e9todo (
\f2\b\fs24 get_Seq_by_id
\b0 .
\f1\fs28 ).\
Cada objeto del c\'f3digo se crea para cada m\'e9todo, un query object para guardar al query, un objeto para ejecuta la query, un para el In/Out. y un objeto de secuencia. Cuidado con lo que se pregunta, podemos quedarnos sin memoria en el ordenador. (hay limitaciones).
\f2\fs24 \

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 20
\f1\fs28 \cf0 \shad0 \
Este es el resultado que obtenemos con el c\'f3digo que acabamos de correr, para que nos de las secuencias de arabidopsis, una lista de las identificaciones de nuestras secuencias y la longitud (de bases) de cada una, impresas por pantalla.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 21
\f1\fs28 \cf0 \shad0 \
En esta tabla esta representado la posibilidad de cosas que podemos hacer con un objeto de secuencias que a la postre es lo que vamos a utilizar casi siempre.\
Returns, significa el valor que te dar\'e1 el objeto cuando pidas datos (ejem seq()) setting es asignar un valor y getting cuando lo pides.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 22
\f2\fs24 \cf0 \shad0 \

\f1\fs28 Aqu\'ed lo que hacemos es lo mismo que en uno de los c\'f3digos anteriores, coger la informaci\'f3n de una secuencia, lo que pasa que en este caso es una secuencia estriada de una base de datos (geneBank). y la informaci\'f3n que nos da es mucho mayor, tanta que hay una tabla que nos explica que es cada cosa.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 23
\f1\fs28 \cf0 \shad0 \
el ejemplo del princio\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 24
\f1\fs28 \cf0 \shad0 \
Otra de las herramientas mas usadas en este tipo de an\'e1lisis, es el BLAST, del ncbi. BLAST es un servidor que consta de varias bases de datos a las que accede y busca la secuencia que tu le has pedido en esas bases de datos, Hace lo que se conoce como alineamiento de secuencias.\
Vamos a ver un ejemplo de como es su eso. En este primer codigo vemos estructuras conocidas el metodo nuevo mas importante es blasall aqui mismo lo que hacemos es correr blast, crear un report y parsear el reports para secuencia que queremos. Podemos usar el modulo SearchIO para crear los objetos report o result (as\'ed imprimimos los datos de la forma que mas nos interesen). SearchIO es un modulo para estraer y analizar datos from BLAST.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 25
\f1\fs28 \cf0 \shad0 \
Este es un ejemplo que de ver\'edamos si hemos corrido este c\'f3digo, primero los hits, que hemos encontrado a nuestra query con un score (puntuaci\'f3n). Mas abajo est\'e1n como se ven los alienamientos de las secuencias.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 26
\f1\fs28 \cf0 \shad0 \
Ahora voy a poner un ejemplo que no he intentado correr yo misma, yo tengo la parte de graphics, esto es como se ver\'eda un condigo real donde hemos lanzado una query a blast y ademas nos interesa imprimir los resultados (hits) de una forma muy determinada.\
27 y as\'ed es como se ver\'eda el resultado de este c\'f3digo, creo que es bastante visual y aunque en principio no lo parezca, el resultado indica casi lo mismo que los que os acabo de mostrar pero con formato blast (listas con escores y alineamientos).\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 28
\f1\fs28 \cf0 \shad0 \
Para los que os guete toda esta parte de Perl hay, como no, uan parte para desarrolladores donde nos indica varios detalles que debemos seguir si queremos implementar nuevos m\'f3dulos, nuevas funciones etc.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 29
\f1\fs28 \cf0 \shad0 \
Ahora os quer\'eda mostrar un ejemplo de lo que se puede llegar ha hacer con BioPerl. En una de las primeras diapositivas donde os hablaba de BioPerl se comentaba que una de las coas mas importantes hechas con BioPerl ere ensembl, esto es ensembl, esta pagina es un servidor que nos hace los alineamientos de secuencias no busca secuencias parecidas etc etec, as\'ed parece no tener nada que ver, pero\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 30
\f1\fs28 \cf0 \shad0  \
si vamos a la parte de descargar, en una muy concreta nos habla de como crear nuestra propia base de datos si lo que queremos es trabajar de foram especifica con determinados resultados. Y en que esta basado esto, pues SI, en Perl.\
Si miramos la documentaci\'f3n, com nos recomienda, vamos a otra pagina que nos cuenta un poco mas como esta construida ensembl, aqu\'ed se ven las diferentes partes que tiene, y si queremos seguir mirando documentaci\'f3n.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 31
\f1\fs28 \cf0 \shad0 \
Nos encontramos que uno de los primeros m\'f3dulos que nos describe es precisamente BioPerl.\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 32
\f1\fs28 \cf0 \shad0 \
Por si alguno esta interesado en leer algo mas aqu\'ed hay dos libros del grupo O'Rally escritos por James D. Tinsdall, yo he usado alg\'fana frase del cap 9 que es lo que he podido bajarme.\
\

\f0\fs36 \cf2 \shad\shadx24\shady-25\shadr0\shado85 \shadc0 33
\f1\fs28 \cf0 \shad0 \
Pues creo que esto es todo.\
\
\
\
\
\
 }